<?php
class EventAddForm extends Form{
	var $a_row = array();
	
	function EventAddForm(){
		Form::Form('EventAddForm');
		CGlobal::$website_title='Thêm Sản phẩm sự kiện';
		$this->link_css('style/manage_item.css');
		
		$this->link_css('style/aznet/ui.datepicker.css');
		$this->link_js('javascript/jquery/ui.datepicker.js');
		
		$this->a_row = array(
								'title'			=>'',
								'img_url'		=>'',
								'img_server'	=>0,
								'status'		=>1,
								
								'time_start'	=>mktime(9,0,0,date('m',TIME_NOW),date('d',TIME_NOW),date('Y',TIME_NOW)) + 86400,
								'time_end'		=>mktime(9,30,0,date('m',TIME_NOW),date('d',TIME_NOW),date('Y',TIME_NOW)) + 86400,
								
								'time_run'		=>0,
								'run_key'		=>0,
								
								'user_c'		=>User::user_name(),
								'time_c'		=>TIME_NOW,
								'user_m'		=>User::user_name(),
								'time_m'		=>TIME_NOW,
								'note'			=>''
								);
	}

	function on_submit()
	{
		$status 	= (int)Url::get('status');
		
		$title		= trim(AZLib::getParam('title',''));
		$note		= trim(AZLib::getParam('note',''));
		
		if(!$title)
		{
			$this->setFormError('title',"Bạn chưa nhập vào tiêu đề!");
		}
		
		$h_start 	= Url::get('h_start',0);
		$min_start 	= Url::get('min_start',0);
		
		$date_start = Url::get('date_start','');
		
		$h_end 		= Url::get('h_end',0);
		$min_end 	= Url::get('min_end',0);
		
		$date_end 	= Url::get('date_end','');
		
		if($h_start>23 || $h_start<0){
			$this->setFormError('h_start',"Phút bắt đầu chạy sai định dạng!");
		}
		
		
		if($min_start>59 || $min_start<0){
			$this->setFormError('min_start',"Phút bắt đầu chạy sai định dạng!");
		}
		
		if($h_end>23 || $h_end<0){
			$this->setFormError('h_start',"Giờ kết thúc sai định dạng!");
		}
		
		if($min_end>59 || $min_end<0){
			$this->setFormError('min_end',"Phút kết thúc chạy sai định dạng!");
		}
		
		$arr = split('-',$date_start);
		if(	
			count($arr) == 3 
			&& $arr[0]>1 && $arr[0]<32 
			&& $arr[1]>1 && $arr[1]<13 
			&& $arr[2]>=date("Y",TIME_NOW) && $arr[2]<=(date("Y",TIME_NOW)+1)
			)
		{
			$time_start = mktime($h_start,$min_start,0,$arr[1],$arr[0],$arr[2]);
		}
		else
		{
			$this->setFormError('date_start',"Ngày bắt đầu sai định dạng!");
		}
		
		
		$arr = split('-',$date_end);
		
		if(	
			count($arr) == 3 
			&& $arr[0]>1 && $arr[0]<32 
			&& $arr[1]>1 && $arr[1]<13 
			&& $arr[2]>=date("Y",TIME_NOW) && $arr[2]<=(date("Y",TIME_NOW)+1)
			)
		{
			$time_end = mktime($h_end,$min_end,59,$arr[1],$arr[0],$arr[2]);
		}
		else
		{
			$this->setFormError('date_end',"Ngày kết thúc sai định dạng!");
		}
		
		echo $time_start,'<br />';
		echo $time_end;
		
		
		if($time_end < TIME_NOW-600)
		{
			$this->setFormError('date_end',"Thời gian kết thúc phải sau thời gian hiện tại ít nhất là 10 phút!");
		}
		
		if($time_start > $time_end - 600)
		{
			$this->setFormError('date_end',"Thời gian bắt đầu phải trước thời gian kết thúc ít nhất là 10 phút!");
		}
		
		
		$img_url   	= '';
		$img_server = 0;
		
		if(isset($_FILES["img_url"]) && $_FILES["img_url"]['name'])
		{
			$upload_path= "event/".date('Y/m/',TIME_NOW);
		
			if(AZLib::ftp_check_dir($upload_path,true,IMAGE_SERVER_NO))//Check dir for upload
			{
				$file_name		= strtolower($_FILES["img_url"]['name']);
				$file_ext		= AZLib::getExtension($file_name);
				
				if(in_array($file_ext,array('.jpg','.jpeg','.gif','.png')))
				{	
					if(!$_FILES["img_url"]['error'])
					{
						list($imagewidth, $imageheight, $imageType) = getimagesize($_FILES["img_url"]['tmp_name']);
						
						if($imagewidth && $imageheight && $_FILES["img_url"]['size'] <= Item::MAX_UPLOAD_SIZE)
						{
							$img_url   	= 	$upload_path.date("YmdHis",TIME_NOW) . '_'.User::id()."_".substr(AZLib::make_safe_name(basename(strtolower($file_name),$file_ext)),0,36).$file_ext;	
							$img_server	=	IMAGE_SERVER_NO;
							
							if(!AZLib::ftp_image_put_file($img_url,$_FILES["img_url"]['tmp_name'],IMAGE_SERVER_NO))
							{
								$this->setFormError('img_url',"Không upload được ảnh!");
							}
						}
						else{
							$json['error'] = 'over_max_size';//Sai định dạng file hoặc upload dung lượng quá lớn
						}
					}
					elseif($_FILES["img_url"]['error'] == 1)
					{
						$json['error'] = 'over_max_size';
					}
				}
				else
				{
					$this->setFormError('img_url',"Sai định dạng ảnh, chỉ dùng file dạng .jpg, .jpeg, .gif, .png!");
				}
			}
		}
		else
		{
			$this->setFormError('img_url',"Ngày kết thúc sai định dạng!");
		}
			
		if(!$this->errNum)
		{
			$this->a_row = array(
								'title'			=>$title,
								'status'		=>$status,
								
								'img_url'		=>$img_url,
								'img_server'	=>$img_server,
								
								'time_start'	=>$time_start,
								'time_end'		=>$time_end,
								
								'time_run'		=>0,
								'run_key'		=>'',
								
								'user_c'		=>User::user_name(),
								'time_c'		=>TIME_NOW,
								'user_m'		=>User::user_name(),
								'time_m'		=>TIME_NOW,
								'note'			=>$note
								);
								
			DB::insert("event_product",$this->a_row);
			
			Url::redirect_current();
		}
	}
	
	function draw()
	{	
		global $display;
		$this->beginForm(true);
		
		$display ->add('mode',	"Thêm");
		$display ->add('msg',	$this->showFormErrorMessages(1));
		
		$status_arr = array(	
							1=>"OK",	
							2=>"Disable"
							);
							
		$display ->add('status_option',	AZLib::getOption($status_arr,Url::get('status',$this->a_row['status'])));
		
		$display ->add('h_start_option',	AZLib::getOptionNum(0,23,Url::get('h_start',date('h',$this->a_row['time_start']))));
		$display ->add('min_start_option',	AZLib::getOptionNum(0,59,Url::get('min_start',date('i',$this->a_row['time_start']))));
		
		$display ->add('date_start',		Url::get('date_start',date('d-m-Y',$this->a_row['time_start'])));
		
		$display ->add('h_end_option',		AZLib::getOptionNum(0,23,Url::get('h_end',date('h',$this->a_row['time_end']))));
		$display ->add('min_end_option',	AZLib::getOptionNum(0,59,Url::get('min_end',date('i',$this->a_row['time_end']))));
		
		$display ->add('date_end',			Url::get('date_end',date('d-m-Y',$this->a_row['time_end'])));
		
		$display ->add('title',		Url::get('title',$this->a_row['title']));
		$display ->add('note',		Url::get('note',$this->a_row['note']));
		
		$display ->output('e_product_add');
		
		$this->endForm();
	}
}
?>